/**
 * 计算文件内容time33值
 * @param file string 文件路径 或 文件描述符
 * @param opt json|null 选项
 * 		len: int|null 分块读大小(B)  默认见:$.fsPart()
 * 		ign: boolean 不存在是否忽略异常  默认false:抛出
 * 		syn: boolean 是否同步操作  默认false:异步
 * @return Promise|string  !opt.syn->Promise
 * 		string:转16进制,长<=8,  '':空文件或不存在且ign
 */
$.fsTime33 = function(file, opt=null){
	opt=$.mix({},opt);  let v=5381,s=opt.syn,B,RTN,i,w;
	B = b=>{ for(i=0;i<b.length;i++) v+=(v<<5)+b[i]; };
	RTN = ()=>v===5381?'':(v&0x7FFFFFFF).toString(16);
	w=$.fsPart(file,B,opt); return s?RTN():w.then(RTN);
};
